pp108 : Configuring Service Containers for Reliable Messaging

Configuring Service Containers for Reliable Messaging

This topic provides an overview about reliable messaging and about configuring service containers to achieve it.


In Process Platform, multiple components communicate through SOAP messages. To ensure the delivery and acknowledgment of these messages, you need to configure the components (involved in a transaction) to a reliable messaging infrastructure. Process Platform uses message queues and distributed Transaction Manager as infrastructure to provide reliable messaging across the participating components. To use reliable messaging, Process Platform Components must configure to a third party queuing product. In the event of an infrastructure failure, message may not be delivered or the sender may not receive the acknowledgment.


Reliable messaging when configured, initiates a global transaction where the components participate in the Global Transaction, and follow a two-phase commit mechanism. A transaction manager coordinates this transaction and invokes a Prepare command to all the participants. Once the acknowledgment is received from all the participants, it then invokes the Commit command. In this approach, if there is a failure at any instance (infrastructure or application related), the entire transaction is reverted and the message in the queue is retained. The recovery mechanisms are governed by the facilities provided by the third party products. It is also possible to configure reliable messaging without a transaction coordinator. This guarantees only the message delivery between Service Containers; Transaction is not used at all. In this case, for instance, a graceful stop, start, or restart from a service container is possible without any message loss.


Process Platform Reliable Messaging provides a mechanism to guarantee the delivery of messages. When the request sender or receiver is offline or crashed, the queuing infrastructure facilitates the messages to be pushed and stored in a queue and retrieved only when the receiver is active to respond. This prevents any loss of information and an acknowledgment from the receiver is certain.


Hence, messages exchanged as part of application business logic are guaranteed to be reliably delivered and you can request a response to be delivered.
Most of the Business Processes designed in Process Platform require business process engine to send messages to a relational database for updating records. Using Reliable Messaging, you can configure this communication between Business Process Engine and Database for reliable message delivery and response.


For example, as part of an online sales application, a business process needs to debit a credit card account and later issue a shipment order. It is not acceptable to debit the account twice or to issue the shipment order without a successful payment. To implement this, the business process sends the debit request through reliable messaging, which persists the process state as part of the same atomic transaction. Once the payment is confirmed, the process state is retrieved from the process instance manager and the business process receives the response.

This section includes the following topics:

Related tasks

Enabling Reliable Messaging in a Business Process

Related reference

Managing Service Groups
Activity Properties Interface

Related information

Managing Client Connection Point Groups
Managing Connection Points
Managing Service Containers